以下功能为修改主题文件方式,后续主题更新或插件更新可能需要重复修改并增加代码。
本页权限功能需配合角色管理插件使用,本站使用插件为 Members
,文章底部提供简单的插件使用教程。
Members插件汉化版下载地址
Puock小程序增加 vip 权限可见内容
发布文章后,内容为专属 VIP 权限或 Puock MP 权限可查看,此功能与主题功能不通用,小程序需单独修改。
PS:由于小程序版权问题,所以小程序根据用户权限展示内容的修改方式及代码隐藏,如您已取得小程序MP权限,可在小程序正版群里联系我获取本站Puock MP权限。
未获得小程序MP权限的用户无法获取本站Puock MP权限。
Puock主题 vip 权限可见内容
WordPress发布文章时,内容为vip权限可查看
安装插件《Members》,并新增设置vip权限,需要注意的地方是:Custom栏目中需要新增read_vip_content
,并勾选。
添加代码文件目录inc/fun/short-code.php
第12行插入,这条代码是为了在文章编辑器顶部的添加短代码
中增加 VIP可见 按钮。
'vip' => array('name' => 'VIP权限可见', 'content' => '输入内容'),
第145行新增一下内容
//VIP可见
if ( ! function_exists( 'shortcode_vip_content' ) ) {
function shortcode_vip_content($atts, $content = null) {
if ( current_user_can('read_vip_content') ){
$retour = $content;
} else {
$retour = "<div class='alert alert-warning'> 您必须要拥有本站 VIP 角色权限才可以查看此内容 </div>";
}
return $retour;
}
}
add_shortcode( 'vip', 'shortcode_vip_content' );
Members 使用教程
安装插件:插件商城中下载members插件,原版为英文版,汉化版插件可见顶部连接中给出的下载地址,安装并启用插件!
插件安装完成后,刷新后台页面,点击左侧菜单栏中的Mbmbers
,进入角色设置。
点击顶部添加新的
按钮,输入角色名称,然后勾选文章
->阅读
权限,给予该权限组文章阅读权限。
点击 Custom
,然后在右侧的Custom Capability
中新增自定义功能,再点击Add New
,增加自定义功能选项,然后勾选刚刚添加的自定义功能。
到这里角色权限基本上完成了,只需要最后点击添加角色
按钮,完成角色添加。
角色权限与代码的配合简单讲解
//VIP可见
if ( ! function_exists( 'shortcode_vip_content' ) ) {
function shortcode_vip_content($atts, $content = null) {
if ( current_user_can('read_vip_content') ){
$retour = $content;
} else {
$retour = "<div class='alert alert-warning'> 您必须要拥有本站 VIP 角色权限才可以查看此内容 </div>";
}
return $retour;
}
}
add_shortcode( 'vip', 'shortcode_vip_content' );
上述可见代码简单讲解。
if判断当前用户角色中是否拥有read_vip_content
权限,当然,这里也可以用角色名来调用,但是这样我个人感觉更好。
因为我在给用户权限的时候,不需要勾选多个权限组,比如我给管理员VIP权限,那么我不用给管理员用户两个权限组,而是把管理的角色勾选给予read_vip_content
权限,即可实现管理员可见VIP内容
特别需要注意的地方是:如果你没给管理员权限,那么管理员也是不能查案VIP权限才能查看的内容。
上面代码中,如果if判断当前用户拥有权限,则输出隐藏内容 $content;
如果if判断不拥有权限,则输出提示内容您必须要拥有本站 VIP 角色权限才可以查看此内容
所以,if ( current_user_can('read_vip_content') ){
这里面的 read_vip_content
自定义功能名称要和你刚刚添加角色时写的名称一致,而current_user_can
函数是WordPress官方提供的权限检查函数,可以直接使用。
但凡你给你的权限组或者叫角色中勾选了自定义功能这个选项,那么他在登陆之后,就可以查看需要权限才能查看的内容。
文章中如果有写的不到位的地方,可以直接留言反馈。谢谢
共计23人点赞,其中2人来自小程序